API Browser

Interface

IPropagatable<TSelf, TOutput, TResidual>

interface IPropagatable<TSelf, TOutput, TResidual>

Namespace: System
Assembly: Raven.Core.dll
Source file: Propagation.rvn

Inheritance: Object → IPropagatable<TSelf, TOutput, TResidual>

Defines the protocol used by Raven's postfix propagation operator (?).

A propagatable type exposes its successful output and residual channels without requiring the compiler to know its concrete representation. The enclosing return type uses FromResidual to reconstruct an early return.

Type parameters

Name Description
TSelf The concrete carrier type.
TOutput The value produced when propagation continues.
TResidual The value carried when propagation returns early.

Implementing types

Documented types in this API reference. Indirect relationships are marked.

Methods

7 items
Equals(obj: object?) -> bool Determines whether the specified object is equal to the current object. Inherited from Object.Equals
Static member: FromResidual(residual: TResidual) -> TSelf Constructs this carrier from a residual propagated by another carrier. Defined by IPropagatable<TSelf, TOutput, TResidual>.FromResidual · Required implementation (no default).
GetHashCode() -> int Serves as the default hash function. Inherited from Object.GetHashCode
GetType() -> Type Gets the System.Type of the current instance. Inherited from Object.GetType
ToString() -> string? Returns a string that represents the current object. Inherited from Object.ToString
TryGetOutput(output: out TOutput) -> bool Attempts to extract the value on the continuing path. Defined by IPropagatable<TSelf, TOutput, TResidual>.TryGetOutput · Required implementation (no default).
TryGetResidual(residual: out TResidual) -> bool Attempts to extract the value on the early-return path. Defined by IPropagatable<TSelf, TOutput, TResidual>.TryGetResidual · Required implementation (no default).

Operators

1 item
Static extension member: implicit conversion<T>(value: IPropagatable<TSelf, TOutput, TResidual>?) -> Optional<IPropagatable<TSelf, TOutput, TResidual>> Converts a nullable reference to `Some`, or to `None` when it is `null`. Extension from OptionalExtensions1<T>.op_Implicit